/**
 * WxMaUserDto.java
 * com.sftz.modules.common.dto
 * Copyright (c) 2018, 北京科技有限公司版权所有.
*/

package com.sftz.modules.common.dto;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.sql.Timestamp;

import lombok.Data;

import com.sftz.framework.res.enums.UserStatusEnum;
import com.sftz.framework.res.enums.UserTypeEnum;
import com.uxuexi.core.common.util.Util;

/**
 * 用户dto
 * <p>
 *
 * @author   朱晓川
 * @Date	 2018年12月11日 	 
 */
@Data
public class WxMinappUserDto implements Serializable {
	private static final long serialVersionUID = 6719822331555402137L;

	//------------------------微信相关的信息----------------------------/
	private String openId;
	private String nickName;
	private String gender;
	private String language;
	private String city;
	private String province;
	private String country;
	private String avatarUrl;
	private String avatar;
	private String unionId;

	//未实现Serializable接口无法存储到redis
	//private Watermark watermark;

	//------------------------自定义的信息----------------------------/
	/**
	 * 接口调用凭据,用户登录的时候会分配
	 */
	private String token;

	/**
	 * 数据库id
	 */
	private Integer id;

	/**
	 * 登录名
	 */
	private String username;

	/**手机号*/
	private String tel;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 用户状态
	 * @see UserStatusEnum
	 */
	private Integer status;

	/**
	 * 用户类型
	 * @see UserTypeEnum
	 */
	private Integer userType;

	/**
	 * 创建时间
	 */
	private Timestamp createTime;

	/**
	 * 最后登录时间
	 */
	private Timestamp lastLoginTime;

	//是否绑定手机
	private boolean bandTel;

	public String getNickName() {
		if (!Util.isEmpty(this.nickName)) {
			try {
				this.nickName = URLDecoder.decode(this.nickName, "utf8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		}
		return this.nickName;
	}

}
